﻿2026-06-07T04:24:21.7479869Z ##[group]Run ./traceable-reqs lint || true
2026-06-07T04:24:21.7480287Z [36;1m./traceable-reqs lint || true[0m
2026-06-07T04:24:21.7503182Z shell: /usr/bin/bash -e {0}
2026-06-07T04:24:21.7503414Z ##[endgroup]
2026-06-07T04:24:21.7792072Z Requirement quality findings (30); 148 requirements queued for agent review:
2026-06-07T04:24:21.7794205Z   [must] requirement_quality REQ-API-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-07T04:24:21.7795281Z   [must] requirement_quality REQ-CONSENT-1 criterion=length — title is 41 words; want 3..=25
2026-06-07T04:24:21.7796342Z   [must] requirement_quality REQ-CONSENT-2 criterion=length — title is 37 words; want 3..=25
2026-06-07T04:24:21.7797951Z   [must] requirement_quality REQ-HAZARD-CONFLICT-BOTH-PRESERVED criterion=length — title is 29 words; want 3..=25
2026-06-07T04:24:21.7799541Z   [must] requirement_quality REQ-HAZARD-DAEMON-SCHED-NONBLOCKING criterion=length — title is 32 words; want 3..=25
2026-06-07T04:24:21.7801412Z   [must] requirement_quality REQ-HAZARD-DETACHED-PIPE-INHERIT criterion=length — title is 52 words; want 3..=25
2026-06-07T04:24:21.7803270Z   [must] requirement_quality REQ-HAZARD-ELEVATED-DAEMON-SPAWN criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-07T04:24:21.7804653Z   [must] requirement_quality REQ-HAZARD-ELEVATED-DAEMON-SPAWN criterion=length — title is 58 words; want 3..=25
2026-06-07T04:24:21.7806525Z   [must] requirement_quality REQ-HAZARD-ENVELOPE-PARSER-SAFE criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-07T04:24:21.7808260Z   [must] requirement_quality REQ-HAZARD-GEN-START-NOW criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-07T04:24:21.7809551Z   [must] requirement_quality REQ-HAZARD-PAIR-RATE-LIMIT criterion=length — title is 37 words; want 3..=25
2026-06-07T04:24:21.7810856Z   [must] requirement_quality REQ-HAZARD-PAIR-SEED-ROTATION criterion=length — title is 33 words; want 3..=25
2026-06-07T04:24:21.7812732Z   [must] requirement_quality REQ-HAZARD-PAIR-TRANSCRIPT-BIND criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-07T04:24:21.7814585Z   [must] requirement_quality REQ-HAZARD-PSYCHE-OUTBOUND-PROXY criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-07T04:24:21.7815941Z   [must] requirement_quality REQ-HAZARD-PSYCHE-OUTBOUND-PROXY criterion=length — title is 27 words; want 3..=25
2026-06-07T04:24:21.7817749Z   [must] requirement_quality REQ-HAZARD-REGISTRY-GHOST-ROWS criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-07T04:24:21.7819049Z   [must] requirement_quality REQ-HAZARD-REGISTRY-GHOST-ROWS criterion=length — title is 66 words; want 3..=25
2026-06-07T04:24:21.7820322Z   [must] requirement_quality REQ-HAZARD-WAN-ORIGIN-AUTH criterion=length — title is 37 words; want 3..=25
2026-06-07T04:24:21.7821275Z   [must] requirement_quality REQ-INST-15 criterion=length — title is 32 words; want 3..=25
2026-06-07T04:24:21.7822320Z   [must] requirement_quality REQ-INSTALL-2 criterion=length — title is 2 word(s); want 3..=25
2026-06-07T04:24:21.7823847Z   [must] requirement_quality REQ-MANIFEST-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-07T04:24:21.7825334Z   [must] requirement_quality REQ-MIGRATE-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-07T04:24:21.7826776Z   [must] requirement_quality REQ-PRES-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-07T04:24:21.7827718Z   [must] requirement_quality REQ-PRES-1 criterion=length — title is 48 words; want 3..=25
2026-06-07T04:24:21.7828764Z   [must] requirement_quality REQ-SEAM-SPAWN criterion=length — title is 2 word(s); want 3..=25
2026-06-07T04:24:21.7829754Z   [must] requirement_quality REQ-SHELL-1 criterion=length — title is 36 words; want 3..=25
2026-06-07T04:24:21.7842460Z   [must] requirement_quality REQ-SHELL-2 criterion=length — title is 49 words; want 3..=25
2026-06-07T04:24:21.7843838Z   [must] requirement_quality REQ-STORE-1 criterion=length — title is 34 words; want 3..=25
2026-06-07T04:24:21.7845267Z   [must] requirement_quality REQ-UPD-6 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-07T04:24:21.7846185Z   [must] requirement_quality REQ-UPD-6 criterion=length — title is 32 words; want 3..=25
2026-06-07T04:24:21.7846216Z 
2026-06-07T04:24:21.7846494Z # Requirement quality review
2026-06-07T04:24:21.7846518Z 
2026-06-07T04:24:21.7847287Z You are reviewing 148 requirement(s) from `traceable-reqs.toml` against a quality
2026-06-07T04:24:21.7848056Z rubric. Deterministic checks (length, contains-and, tbd-todo, duplicate-titles,
2026-06-07T04:24:21.7848852Z trailing-etc) have already run and surfaced as `requirement_quality` findings on
2026-06-07T04:24:21.7849413Z this command's output. Your task is the rubric items below.
2026-06-07T04:24:21.7849995Z 
2026-06-07T04:24:21.7850205Z ## Rubric
2026-06-07T04:24:21.7850228Z 
2026-06-07T04:24:21.7851161Z - **singular** — describes one capability; no smuggled "and"/"or" across distinct actions.
2026-06-07T04:24:21.7851956Z - **verifiable** — states an observable behavior a test or reviewer could confirm.
2026-06-07T04:24:21.7852657Z - **atomic** — cannot be split into two requirements without losing meaning.
2026-06-07T04:24:21.7853111Z - **active-voice** — clear subject and active verb.
2026-06-07T04:24:21.7853136Z 
2026-06-07T04:24:21.7853911Z If a criterion is borderline or doesn't apply, abstain — only emit findings for
2026-06-07T04:24:21.7854145Z clear concerns.
2026-06-07T04:24:21.7854168Z 
2026-06-07T04:24:21.7854391Z ## Requirements
2026-06-07T04:24:21.7854411Z 
2026-06-07T04:24:21.7854622Z ### REQ-ARCH-1
2026-06-07T04:24:21.7854983Z - Title: Many small acyclically-layered crates
2026-06-07T04:24:21.7855226Z - Required stages: impl
2026-06-07T04:24:21.7855260Z 
2026-06-07T04:24:21.7855500Z ### REQ-ARCH-2
2026-06-07T04:24:21.7856028Z - Title: Public SDK surface is spt-proto, spt-runtime, spt-msg
2026-06-07T04:24:21.7856274Z - Required stages: impl
2026-06-07T04:24:21.7856295Z 
2026-06-07T04:24:21.7856516Z ### REQ-ARCH-3
2026-06-07T04:24:21.7857219Z - Title: Wire-protocol version independent of crate semver, N-1 compat window
2026-06-07T04:24:21.7857498Z - Required stages: impl, unit
2026-06-07T04:24:21.7857519Z 
2026-06-07T04:24:21.7857738Z ### REQ-ARCH-4
2026-06-07T04:24:21.7858297Z - Title: Copy-verbatim the commodity layer from the sister project
2026-06-07T04:24:21.7858571Z - Required stages: impl, unit
2026-06-07T04:24:21.7858593Z 
2026-06-07T04:24:21.7858808Z ### REQ-DAEMON-1
2026-06-07T04:24:21.7859485Z - Title: One per-machine spt-daemon owning all per-machine state
2026-06-07T04:24:21.7859987Z - Required stages: impl, unit, int
2026-06-07T04:24:21.7860012Z 
2026-06-07T04:24:21.7860270Z ### REQ-DAEMON-2
2026-06-07T04:24:21.7860744Z - Title: Broker/brain split for seamless self-update
2026-06-07T04:24:21.7861079Z - Required stages: impl, unit, int
2026-06-07T04:24:21.7861104Z 
2026-06-07T04:24:21.7861366Z ### REQ-DAEMON-3
2026-06-07T04:24:21.7861903Z - Title: Any api invocation auto-starts the daemon if absent
2026-06-07T04:24:21.7862229Z - Required stages: impl, unit, int
2026-06-07T04:24:21.7862257Z 
2026-06-07T04:24:21.7862512Z ### REQ-DAEMON-4
2026-06-07T04:24:21.7862860Z - Title: Honor every KNOWN-HAZARDS invariant
2026-06-07T04:24:21.7863159Z - Required stages: impl, unit, int
2026-06-07T04:24:21.7863181Z 
2026-06-07T04:24:21.7863404Z ### REQ-STORE-1
2026-06-07T04:24:21.7867551Z - Title: spt-store::BranchStore (git branch as versioned KV; commit=checkpoint/tip=resume, atomic multi-key, merge-native sync) is the substrate for coarse/durable/audited state (context, registry snapshot+distribution, daemon checkpoint); hot paths (B5 fsync journal) + indexed queries (SQLite spool) excluded (ADR-0011)
2026-06-07T04:24:21.7867860Z - Required stages: impl, unit
2026-06-07T04:24:21.7868155Z 
2026-06-07T04:24:21.7868480Z ### REQ-MANIFEST-1
2026-06-07T04:24:21.7869141Z - Title: Per-adapter manifest with adapter_name and min_spt_core_version
2026-06-07T04:24:21.7869509Z - Required stages: doc, impl, unit
2026-06-07T04:24:21.7869532Z 
2026-06-07T04:24:21.7869772Z ### REQ-SEAM-SPAWN
2026-06-07T04:24:21.7870049Z - Title: spawn-session seam
2026-06-07T04:24:21.7870321Z - Required stages: impl, unit
2026-06-07T04:24:21.7870343Z 
2026-06-07T04:24:21.7870607Z ### REQ-SEAM-POSTSPAWN
2026-06-07T04:24:21.7871017Z - Title: post-spawn / api bind seam with boot nonce
2026-06-07T04:24:21.7871300Z - Required stages: impl, unit
2026-06-07T04:24:21.7871325Z 
2026-06-07T04:24:21.7871616Z ### REQ-SEAM-PSYCHE
2026-06-07T04:24:21.7872097Z - Title: spawn-psyche seam (fresh + resume templates)
2026-06-07T04:24:21.7872436Z - Required stages: impl, unit, int
2026-06-07T04:24:21.7872463Z 
2026-06-07T04:24:21.7872718Z ### REQ-SEAM-HISTORY
2026-06-07T04:24:21.7873382Z - Title: History subsystem (fetcher / locate-normalize / native store)
2026-06-07T04:24:21.7873907Z - Required stages: impl, unit, int
2026-06-07T04:24:21.7873932Z 
2026-06-07T04:24:21.7874171Z ### REQ-SEAM-ACTIVITY
2026-06-07T04:24:21.7874812Z - Title: Activity/idle reported via api sentinels, not PTY quiescence
2026-06-07T04:24:21.7875086Z - Required stages: impl, unit
2026-06-07T04:24:21.7875124Z 
2026-06-07T04:24:21.7875359Z ### REQ-SEAM-INJECT
2026-06-07T04:24:21.7875906Z - Title: inject-input methods configurable per activity-state
2026-06-07T04:24:21.7876194Z - Required stages: impl, unit
2026-06-07T04:24:21.7876218Z 
2026-06-07T04:24:21.7876473Z ### REQ-SEAM-RESUME
2026-06-07T04:24:21.7877101Z - Title: resume-session seam (fresh-with-preload / continue-existing)
2026-06-07T04:24:21.7877384Z - Required stages: impl, unit
2026-06-07T04:24:21.7877405Z 
2026-06-07T04:24:21.7877668Z ### REQ-SEAM-CAPABILITY
2026-06-07T04:24:21.7878125Z - Title: Hostable endpoint-types capability declaration
2026-06-07T04:24:21.7878407Z - Required stages: impl, unit
2026-06-07T04:24:21.7878453Z 
2026-06-07T04:24:21.7878692Z ### REQ-SEAM-UPDATE
2026-06-07T04:24:21.7879305Z - Title: Adapter-update avenue (file-pull / delegated command)
2026-06-07T04:24:21.7879746Z - Required stages: impl, unit
2026-06-07T04:24:21.7879767Z 
2026-06-07T04:24:21.7879978Z ### REQ-API-1
2026-06-07T04:24:21.7880538Z - Title: api prefix and adapter_name on every machinery invocation
2026-06-07T04:24:21.7880815Z - Required stages: impl, unit, int
2026-06-07T04:24:21.7880838Z 
2026-06-07T04:24:21.7881055Z ### REQ-API-2
2026-06-07T04:24:21.7881787Z - Title: The api subcommand surface (bind/listen/poll/state/worker/boundary/...)
2026-06-07T04:24:21.7882065Z - Required stages: impl, unit, int
2026-06-07T04:24:21.7882085Z 
2026-06-07T04:24:21.7882304Z ### REQ-API-3
2026-06-07T04:24:21.7882715Z - Title: commune/signoff are file-drops, not commands
2026-06-07T04:24:21.7883008Z - Required stages: impl, unit, int
2026-06-07T04:24:21.7883030Z 
2026-06-07T04:24:21.7883252Z ### REQ-START-1
2026-06-07T04:24:21.7883929Z - Title: Adapters never resolve SPT_HOME; binary on PATH; api bridging only
2026-06-07T04:24:21.7884207Z - Required stages: impl, unit
2026-06-07T04:24:21.7884227Z 
2026-06-07T04:24:21.7884440Z ### REQ-START-2
2026-06-07T04:24:21.7884865Z - Title: Harness-hosted startup: api seed then listen
2026-06-07T04:24:21.7885147Z - Required stages: impl, unit, int
2026-06-07T04:24:21.7885181Z 
2026-06-07T04:24:21.7885402Z ### REQ-START-3
2026-06-07T04:24:21.7885967Z - Title: spt-hosted startup: spawn-session then api bind (no file)
2026-06-07T04:24:21.7886242Z - Required stages: impl, unit, int
2026-06-07T04:24:21.7886264Z 
2026-06-07T04:24:21.7886484Z ### REQ-START-4
2026-06-07T04:24:21.7886884Z - Title: Adapter-injected env aliases (SPT/OWL/LIVE)
2026-06-07T04:24:21.7887162Z - Required stages: impl, unit
2026-06-07T04:24:21.7887181Z 
2026-06-07T04:24:21.7887398Z ### REQ-EP-1
2026-06-07T04:24:21.7887768Z - Title: Day-one endpoint types; open type system
2026-06-07T04:24:21.7888046Z - Required stages: impl, unit
2026-06-07T04:24:21.7888243Z 
2026-06-07T04:24:21.7888465Z ### REQ-EP-2
2026-06-07T04:24:21.7889014Z - Title: Agent endpoints vs Shells distinction in the type model
2026-06-07T04:24:21.7889488Z - Required stages: impl, unit
2026-06-07T04:24:21.7889516Z 
2026-06-07T04:24:21.7889739Z ### REQ-EP-3
2026-06-07T04:24:21.7890399Z - Title: Messaging payloads carry typed operation commands + file blobs
2026-06-07T04:24:21.7890675Z - Required stages: impl, unit
2026-06-07T04:24:21.7890694Z 
2026-06-07T04:24:21.7890916Z ### REQ-EP-4
2026-06-07T04:24:21.7891388Z - Title: PresenceChannel broker endpoint (seam day-one)
2026-06-07T04:24:21.7891671Z - Required stages: impl, unit
2026-06-07T04:24:21.7891693Z 
2026-06-07T04:24:21.7891914Z ### REQ-EP-5
2026-06-07T04:24:21.7895035Z - Title: Concrete shell instantiation model: spawn-mints-instance (vs relink/online), registered-on-node permission + broadcast-is-discovery, per-shell require_approval gate, max_instances_per_owner + over_cap, instance aliasing, discovery scope
2026-06-07T04:24:21.7895523Z - Required stages: impl, unit, int
2026-06-07T04:24:21.7895545Z 
2026-06-07T04:24:21.7895773Z ### REQ-INST-1
2026-06-07T04:24:21.7896286Z - Title: endpoint ID vs instance split (adapter-agnostic ID)
2026-06-07T04:24:21.7896536Z - Required stages: 
2026-06-07T04:24:21.7896557Z 
2026-06-07T04:24:21.7896860Z ### REQ-INST-2
2026-06-07T04:24:21.7897202Z - Title: Per-node files, synced Psyche mind
2026-06-07T04:24:21.7897490Z - Required stages: impl, unit
2026-06-07T04:24:21.7897510Z 
2026-06-07T04:24:21.7897736Z ### REQ-INST-3
2026-06-07T04:24:21.7898212Z - Title: Dormant (warm) / suspended (cold) resting states
2026-06-07T04:24:21.7898504Z - Required stages: doc, impl, unit
2026-06-07T04:24:21.7898525Z 
2026-06-07T04:24:21.7898751Z ### REQ-INST-4
2026-06-07T04:24:21.7899398Z - Title: active to dormant/suspended fires a transition echo commune
2026-06-07T04:24:21.7899830Z - Required stages: impl, unit
2026-06-07T04:24:21.7899851Z 
2026-06-07T04:24:21.7900070Z ### REQ-INST-5
2026-06-07T04:24:21.7900678Z - Title: Two-tier context sync (live to all, project to same-project)
2026-06-07T04:24:21.7900964Z - Required stages: impl, unit, int
2026-06-07T04:24:21.7900988Z 
2026-06-07T04:24:21.7901200Z ### REQ-INST-6
2026-06-07T04:24:21.7901829Z - Title: Deferred messages not delivered to dormant/suspended instances
2026-06-07T04:24:21.7902114Z - Required stages: impl, unit, int
2026-06-07T04:24:21.7902136Z 
2026-06-07T04:24:21.7902350Z ### REQ-INST-7
2026-06-07T04:24:21.7902759Z - Title: Subnet registry + bare-id resolution policy
2026-06-07T04:24:21.7903038Z - Required stages: impl, unit, int
2026-06-07T04:24:21.7903059Z 
2026-06-07T04:24:21.7903281Z ### REQ-INST-8
2026-06-07T04:24:21.7903762Z - Title: Remote-control mode distinct from local operation
2026-06-07T04:24:21.7904041Z - Required stages: impl, unit, int
2026-06-07T04:24:21.7904064Z 
2026-06-07T04:24:21.7904287Z ### REQ-INST-9
2026-06-07T04:24:21.7904909Z - Title: Multi-subnet membership (same-user N subnets; cross-user seam)
2026-06-07T04:24:21.7905205Z - Required stages: impl, unit
2026-06-07T04:24:21.7905227Z 
2026-06-07T04:24:21.7905449Z ### REQ-INST-10
2026-06-07T04:24:21.7906177Z - Title: Qualified addressing [subnet:]id[@node] + ambiguity forces qualification
2026-06-07T04:24:21.7906451Z - Required stages: impl, unit
2026-06-07T04:24:21.7906472Z 
2026-06-07T04:24:21.7906688Z ### REQ-INST-11
2026-06-07T04:24:21.7907441Z - Title: spt rename <id> rippled to all instances (collision-checked, 6.5-reconciled)
2026-06-07T04:24:21.7907721Z - Required stages: impl, unit
2026-06-07T04:24:21.7907742Z 
2026-06-07T04:24:21.7907963Z ### REQ-INST-12
2026-06-07T04:24:21.7909085Z - Title: Endpoint visibility per-(endpoint,subnet): excluded semantics, OR-of-defaults + override, gates sync
2026-06-07T04:24:21.7909428Z - Required stages: impl, unit
2026-06-07T04:24:21.7909454Z 
2026-06-07T04:24:21.7909684Z ### REQ-INST-13
2026-06-07T04:24:21.7910309Z - Title: Subnet-exclusive sync + per-endpoint subnet-membership list
2026-06-07T04:24:21.7910582Z - Required stages: impl, unit
2026-06-07T04:24:21.7910831Z 
2026-06-07T04:24:21.7911070Z ### REQ-INST-14
2026-06-07T04:24:21.7912623Z - Title: Resource advertisement (subnet resource registry): free-text blurb, both-authored, registry projection, visibility/whitelist-gated
2026-06-07T04:24:21.7912933Z - Required stages: doc, impl, unit
2026-06-07T04:24:21.7912959Z 
2026-06-07T04:24:21.7913361Z ### REQ-INST-15
2026-06-07T04:24:21.7916899Z - Title: Immutable home subnet (assigned at creation: auto-if-one/ask-if-many) + spt fork (cross-subnet clone to a new identity, copy-then-diverge, not re-home); adapter chosen at creation from registered hostable adapters, changed only via launch/resume-under-new (ADR-0010)
2026-06-07T04:24:21.7917208Z - Required stages: doc, impl, unit
2026-06-07T04:24:21.7917230Z 
2026-06-07T04:24:21.7917449Z ### REQ-REACH-1
2026-06-07T04:24:21.7917906Z - Title: Off-node remote-drive detection + file transfer
2026-06-07T04:24:21.7918193Z - Required stages: impl, unit, int
2026-06-07T04:24:21.7918386Z 
2026-06-07T04:24:21.7918618Z ### REQ-REACH-2
2026-06-07T04:24:21.7919106Z - Title: Remote command execution (deferred, consent-gated)
2026-06-07T04:24:21.7919686Z - Required stages: 
2026-06-07T04:24:21.7919712Z 
2026-06-07T04:24:21.7919931Z ### REQ-MSG-1
2026-06-07T04:24:21.7921856Z - Title: Local message delivery: TCP-first to a registered address, spool fallback when offline; id->address via registry (stale-clean first); reply routing (__REPLY_TO__)
2026-06-07T04:24:21.7922140Z - Required stages: impl, unit, int
2026-06-07T04:24:21.7922160Z 
2026-06-07T04:24:21.7922378Z ### REQ-MSG-2
2026-06-07T04:24:21.7923390Z - Title: spt binary CLI surface: send/ring/ready(+--once)/list/stop/whoami, stable arg shapes + exit codes
2026-06-07T04:24:21.7923673Z - Required stages: impl, unit
2026-06-07T04:24:21.7923697Z 
2026-06-07T04:24:21.7923917Z ### REQ-MSG-3
2026-06-07T04:24:21.7925499Z - Title: Ready-agent lifecycle: register perch (info.json + listener + registry address) on ready, drain spooled backlog on startup, clean teardown
2026-06-07T04:24:21.7925816Z - Required stages: impl, unit, int
2026-06-07T04:24:21.7925836Z 
2026-06-07T04:24:21.7926071Z ### REQ-NODE-IDENTITY
2026-06-07T04:24:21.7926884Z - Title: Ed25519 identity primitive: keypair, detached sign/verify, stable pubkey<->hex
2026-06-07T04:24:21.7927160Z - Required stages: impl, unit
2026-06-07T04:24:21.7927183Z 
2026-06-07T04:24:21.7927392Z ### REQ-NET-1
2026-06-07T04:24:21.7928007Z - Title: WAN messaging first-class, behind default-on net feature flag
2026-06-07T04:24:21.7928289Z - Required stages: impl, unit, int
2026-06-07T04:24:21.7928309Z 
2026-06-07T04:24:21.7928556Z ### REQ-NET-2
2026-06-07T04:24:21.7929146Z - Title: n0 relay default + self-host knob + plain-language disclosure
2026-06-07T04:24:21.7929437Z - Required stages: impl
2026-06-07T04:24:21.7929461Z 
2026-06-07T04:24:21.7929683Z ### REQ-NET-3
2026-06-07T04:24:21.7930210Z - Title: Cross-node Psyche sync over P2P replaces gh-repo-sync
2026-06-07T04:24:21.7930492Z - Required stages: impl, unit
2026-06-07T04:24:21.7930536Z 
2026-06-07T04:24:21.7931253Z ### REQ-PAIR-1
2026-06-07T04:24:21.7931548Z - Title: TOTP-seeded SPAKE2 pairing
2026-06-07T04:24:21.7931836Z - Required stages: impl, unit, int
2026-06-07T04:24:21.7931859Z 
2026-06-07T04:24:21.7932081Z ### REQ-PAIR-2
2026-06-07T04:24:21.7932493Z - Title: Local trust store with TOFU + warn-on-change
2026-06-07T04:24:21.7932771Z - Required stages: impl, unit
2026-06-07T04:24:21.7932791Z 
2026-06-07T04:24:21.7933011Z ### REQ-PAIR-3
2026-06-07T04:24:21.7933465Z - Title: Fetch current pairing code from any paired node
2026-06-07T04:24:21.7933736Z - Required stages: impl, unit
2026-06-07T04:24:21.7933757Z 
2026-06-07T04:24:21.7933984Z ### REQ-PAIR-4
2026-06-07T04:24:21.7934284Z - Title: Subnet naming on first pairing
2026-06-07T04:24:21.7934571Z - Required stages: impl, unit
2026-06-07T04:24:21.7934590Z 
2026-06-07T04:24:21.7934822Z ### REQ-PAIR-5
2026-06-07T04:24:21.7936366Z - Title: Multi-subnet pairing: subnet-name discovery input, create-new-names-up-front, rendezvous-token hashing
2026-06-07T04:24:21.7936896Z - Required stages: impl, unit, int
2026-06-07T04:24:21.7936921Z 
2026-06-07T04:24:21.7937138Z ### REQ-PAIR-6
2026-06-07T04:24:21.7938143Z - Title: Elevation-gated per-subnet code fetch (UAC/root or elevated agent; else authenticator app)
2026-06-07T04:24:21.7938422Z - Required stages: impl, unit
2026-06-07T04:24:21.7938443Z 
2026-06-07T04:24:21.7938661Z ### REQ-PAIR-7
2026-06-07T04:24:21.7939229Z - Title: Subnet icon (inline image metadata, GUI-only consumer)
2026-06-07T04:24:21.7939542Z - Required stages: 
2026-06-07T04:24:21.7939568Z 
2026-06-07T04:24:21.7939796Z ### REQ-SUBNET-1
2026-06-07T04:24:21.7941140Z - Title: spt subnet noun namespace: status view (bare + status [NAME] [--nodes]), create (QR/otpauth), show-code; spt pair deleted
2026-06-07T04:24:21.7941403Z - Required stages: impl, unit
2026-06-07T04:24:21.7941426Z 
2026-06-07T04:24:21.7941655Z ### REQ-SUBNET-2
2026-06-07T04:24:21.7942495Z - Title: Guided join e2e: spt subnet join CLI initiator + always-on daemon pairing responder
2026-06-07T04:24:21.7942956Z - Required stages: impl, unit, int
2026-06-07T04:24:21.7942984Z 
2026-06-07T04:24:21.7943216Z ### REQ-SUBNET-3
2026-06-07T04:24:21.7944273Z - Title: Node labels: hostname-default, gossiped, addressable in @node qualifiers (refuse-on-ambiguity)
2026-06-07T04:24:21.7944554Z - Required stages: impl, unit
2026-06-07T04:24:21.7944577Z 
2026-06-07T04:24:21.7944796Z ### REQ-SUBNET-4
2026-06-07T04:24:21.7945942Z - Title: Subnet membership mutations elevation-gated (create = seed reveal; join = trust-boundary enrollment)
2026-06-07T04:24:21.7946219Z - Required stages: impl, unit
2026-06-07T04:24:21.7946240Z 
2026-06-07T04:24:21.7946453Z ### REQ-DOCS-6
2026-06-07T04:24:21.7947766Z - Title: spt how-to <topic>: in-binary task-oriented agent instructions (anti-drift; quickstart prompts point agents at it)
2026-06-07T04:24:21.7948046Z - Required stages: impl, unit, int
2026-06-07T04:24:21.7948066Z 
2026-06-07T04:24:21.7948288Z ### REQ-SEC-1
2026-06-07T04:24:21.7950040Z - Title: Per-endpoint access whitelist: origin-node gate, stateful-firewall (reply/outbound exempt), node-now/user-later, outer gate before grants
2026-06-07T04:24:21.7950312Z - Required stages: impl, unit
2026-06-07T04:24:21.7950334Z 
2026-06-07T04:24:21.7950562Z ### REQ-NOTIF-1
2026-06-07T04:24:21.7952059Z - Title: Notification primitive: per-subnet replicated spool, seen/dismissed, resurface-at-boundary, subsumes update+consent prompts
2026-06-07T04:24:21.7952351Z - Required stages: impl, unit, int
2026-06-07T04:24:21.7952372Z 
2026-06-07T04:24:21.7952595Z ### REQ-NOTIF-2
2026-06-07T04:24:21.7953615Z - Title: spt notify (agent-issued subnet notif) + notif_command manifest seam (harness + shell adapters)
2026-06-07T04:24:21.7953929Z - Required stages: doc, impl, unit, int
2026-06-07T04:24:21.7953950Z 
2026-06-07T04:24:21.7954159Z ### REQ-UPD-1
2026-06-07T04:24:21.7954488Z - Title: Peer-propagated update over P2P
2026-06-07T04:24:21.7954774Z - Required stages: impl, unit, int
2026-06-07T04:24:21.7954812Z 
2026-06-07T04:24:21.7955026Z ### REQ-UPD-2
2026-06-07T04:24:21.7955475Z - Title: All binaries signature-verified before handoff
2026-06-07T04:24:21.7955738Z - Required stages: impl, unit
2026-06-07T04:24:21.7955758Z 
2026-06-07T04:24:21.7955975Z ### REQ-UPD-3
2026-06-07T04:24:21.7956561Z - Title: No endpoint process terminates/suspends during self-update
2026-06-07T04:24:21.7956839Z - Required stages: impl, unit, int
2026-06-07T04:24:21.7956861Z 
2026-06-07T04:24:21.7957080Z ### REQ-UPD-4
2026-06-07T04:24:21.7957691Z - Title: Update gated on user confirmation by default; opt-in full-auto
2026-06-07T04:24:21.7957970Z - Required stages: impl, unit
2026-06-07T04:24:21.7957990Z 
2026-06-07T04:24:21.7958211Z ### REQ-UPD-5
2026-06-07T04:24:21.7958637Z - Title: spt-core ripple-updates registered adapters
2026-06-07T04:24:21.7958909Z - Required stages: impl, unit
2026-06-07T04:24:21.7958928Z 
2026-06-07T04:24:21.7959135Z ### REQ-UPD-6
2026-06-07T04:24:21.7963193Z - Title: Platform-targeted update sets and debug rollout: signed multi-platform update metadata, recipient platform selection, channel-scoped monotonic counters, debug-channel opt-in via release-key overlay, local staging plus pull-based peer propagation, and maintainer-only convergence tooling (ADR-0016)
2026-06-07T04:24:21.7963681Z - Required stages: doc, impl, unit
2026-06-07T04:24:21.7963704Z 
2026-06-07T04:24:21.7963917Z ### REQ-TERM-1
2026-06-07T04:24:21.7964502Z - Title: Process-supervisor terminal wrapper hosting broker PTYs
2026-06-07T04:24:21.7964770Z - Required stages: impl, unit
2026-06-07T04:24:21.7964791Z 
2026-06-07T04:24:21.7965013Z ### REQ-TERM-2
2026-06-07T04:24:21.7965642Z - Title: session-surface abstraction; send-keys + send-line injection
2026-06-07T04:24:21.7965905Z - Required stages: impl, unit
2026-06-07T04:24:21.7965926Z 
2026-06-07T04:24:21.7966145Z ### REQ-TERM-3
2026-06-07T04:24:21.7966755Z - Title: Byte-stream remote terminal streaming for v1
2026-06-07T04:24:21.7967113Z - Required stages: impl, unit
2026-06-07T04:24:21.7967354Z 
2026-06-07T04:24:21.7967669Z ### REQ-TERM-4
2026-06-07T04:24:21.7969536Z - Title: Live activity buffer (PTY digest): adapter-supplied patterns over broker PTY, spt digest pull + delta-stream, opt-in Path-B log
2026-06-07T04:24:21.7970032Z - Required stages: impl, unit, int
2026-06-07T04:24:21.7970057Z 
2026-06-07T04:24:21.7970273Z ### REQ-FRONT-1
2026-06-07T04:24:21.7970866Z - Title: Day-one launcher/manager frontend (list/launch/attach/init)
2026-06-07T04:24:21.7971115Z - Required stages: 
2026-06-07T04:24:21.7971134Z 
2026-06-07T04:24:21.7971356Z ### REQ-INSTALL-1
2026-06-07T04:24:21.7972028Z - Title: Two install paths; signed one-line script; OS-service registration
2026-06-07T04:24:21.7972465Z - Required stages: doc, impl, int
2026-06-07T04:24:21.7972489Z 
2026-06-07T04:24:21.7980012Z ### REQ-INSTALL-2
2026-06-07T04:24:21.7980840Z - Title: Marketplace-repackaging-friendly install
2026-06-07T04:24:21.7981103Z - Required stages: doc
2026-06-07T04:24:21.7981132Z 
2026-06-07T04:24:21.7981605Z ### REQ-INSTALL-3
2026-06-07T04:24:21.7982030Z - Title: Idempotent + interactive-optional first run
2026-06-07T04:24:21.7982294Z - Required stages: impl, int
2026-06-07T04:24:21.7982315Z 
2026-06-07T04:24:21.7982544Z ### REQ-INSTALL-4
2026-06-07T04:24:21.7985561Z - Title: Adapter registration lifecycle: spt adapter add (--github, manifest-first, install-is-first-update) + soft-deregister remove + optional manifest uninstall template; node-local registered-adapter set self-update ripples over
2026-06-07T04:24:21.7985850Z - Required stages: impl, unit
2026-06-07T04:24:21.7985872Z 
2026-06-07T04:24:21.7986108Z ### REQ-MIGRATE-1
2026-06-07T04:24:21.7986668Z - Title: Auto-detect and migrate a legacy claude_skill_owl install
2026-06-07T04:24:21.7986916Z - Required stages: 
2026-06-07T04:24:21.7986937Z 
2026-06-07T04:24:21.7987154Z ### REQ-INFRA-1
2026-06-07T04:24:21.7987776Z - Title: GitHub issue tracking for v1; tangled.org as migration target
2026-06-07T04:24:21.7988023Z - Required stages: 
2026-06-07T04:24:21.7988063Z 
2026-06-07T04:24:21.7988289Z ### REQ-INSTALL-5
2026-06-07T04:24:21.7990653Z - Title: Non-interactive install path: the canonical one-liner doubles as every adapter's pack-in on-demand install (no second mechanism); sha256-verified fetch; user-PATH registration
2026-06-07T04:24:21.7990922Z - Required stages: impl, int
2026-06-07T04:24:21.7990942Z 
2026-06-07T04:24:21.7991161Z ### REQ-REL-1
2026-06-07T04:24:21.7992753Z - Title: spt-releases publish-target repo: README public face, licensing split, Pages docs at the permanent lapse-proof canonical URL (ADR-0014)
2026-06-07T04:24:21.7993017Z - Required stages: doc, impl
2026-06-07T04:24:21.7993038Z 
2026-06-07T04:24:21.7993252Z ### REQ-REL-2
2026-06-07T04:24:21.7995381Z - Title: Release asset set consumable by the self-updater: platform binaries, SHA256SUMS, SignedRelease metadata, manifest schema, mock-adapter zip; tag-triggered cross-repo pipeline
2026-06-07T04:24:21.7995656Z - Required stages: impl, int
2026-06-07T04:24:21.7995677Z 
2026-06-07T04:24:21.7996300Z ### REQ-REL-3
2026-06-07T04:24:21.7998181Z - Title: Two-key release-signing trust anchor: primary + offline never-used recovery, both pubkeys embedded in the binary's trusted set, manual local signing (ADR-0015)
2026-06-07T04:24:21.7998456Z - Required stages: impl, unit
2026-06-07T04:24:21.7998477Z 
2026-06-07T04:24:21.7998688Z ### REQ-DOCS-1
2026-06-07T04:24:21.7999415Z - Title: Dual-audience docs (human + AI dev-agent), markdown once / two depths
2026-06-07T04:24:21.8000178Z - Required stages: doc, impl
2026-06-07T04:24:21.8000202Z 
2026-06-07T04:24:21.8000417Z ### REQ-DOCS-2
2026-06-07T04:24:21.8000938Z - Title: Sub-10-minute runnable killer quickstart per audience
2026-06-07T04:24:21.8001192Z - Required stages: doc, int
2026-06-07T04:24:21.8001215Z 
2026-06-07T04:24:21.8001437Z ### REQ-DOCS-3
2026-06-07T04:24:21.8002201Z - Title: Diátaxis structure; one canonical way to do X
2026-06-07T04:24:21.8002458Z - Required stages: doc
2026-06-07T04:24:21.8002481Z 
2026-06-07T04:24:21.8002705Z ### REQ-DOCS-4
2026-06-07T04:24:21.8003623Z - Title: Agent-consumable layer (llms.txt, manifest schema, MCP, CLI help)
2026-06-07T04:24:21.8003909Z - Required stages: doc, impl, unit
2026-06-07T04:24:21.8003932Z 
2026-06-07T04:24:21.8004156Z ### REQ-DOCS-5
2026-06-07T04:24:21.8004809Z - Title: Anti-drift: rustdoc/schema/exports/CLI-help generated + CI-checked
2026-06-07T04:24:21.8005081Z - Required stages: impl, int
2026-06-07T04:24:21.8005100Z 
2026-06-07T04:24:21.8005395Z ### REQ-HAZARD-GRACE-BEFORE-SIGNOFF
2026-06-07T04:24:21.8006041Z - Title: Grace-period wait completes before composing INIT_SIGNOFF (1.1)
2026-06-07T04:24:21.8006315Z - Required stages: impl, unit
2026-06-07T04:24:21.8006335Z 
2026-06-07T04:24:21.8006627Z ### REQ-HAZARD-INFO-JSON-TORN-READ
2026-06-07T04:24:21.8007100Z - Title: State-file reads tolerate concurrent writes (1.2)
2026-06-07T04:24:21.8007367Z - Required stages: impl, unit
2026-06-07T04:24:21.8007387Z 
2026-06-07T04:24:21.8007675Z ### REQ-HAZARD-STALE-INDEX-LOCK
2026-06-07T04:24:21.8008090Z - Title: Sweep stale lockfiles on daemon boot (1.3)
2026-06-07T04:24:21.8008357Z - Required stages: impl, unit
2026-06-07T04:24:21.8008379Z 
2026-06-07T04:24:21.8008656Z ### REQ-HAZARD-DEFERRED-DRAIN
2026-06-07T04:24:21.8009310Z - Title: Deferred spool rows excluded from the event-stream drain (1.4)
2026-06-07T04:24:21.8009800Z - Required stages: impl, unit
2026-06-07T04:24:21.8009826Z 
2026-06-07T04:24:21.8010261Z ### REQ-HAZARD-WORKER-PATH
2026-06-07T04:24:21.8010853Z - Title: Single source of truth for Worker/Psyche perch location (1.5)
2026-06-07T04:24:21.8011124Z - Required stages: impl, unit
2026-06-07T04:24:21.8011152Z 
2026-06-07T04:24:21.8011445Z ### REQ-HAZARD-PARENT-PID-PREFER
2026-06-07T04:24:21.8012080Z - Title: Prefer stable parent PID / broker handle over ephemeral PID (2.1)
2026-06-07T04:24:21.8012309Z - Required stages: 
2026-06-07T04:24:21.8012342Z 
2026-06-07T04:24:21.8012620Z ### REQ-HAZARD-STDIN-SESSION-ID
2026-06-07T04:24:21.8013014Z - Title: Stdin session_id precedence over env (2.2)
2026-06-07T04:24:21.8013265Z - Required stages: 
2026-06-07T04:24:21.8013287Z 
2026-06-07T04:24:21.8013587Z ### REQ-HAZARD-HANDOFF-ARGV-COMPAT
2026-06-07T04:24:21.8014096Z - Title: Broker/brain IPC + handoff argv version-tolerant (2.3)
2026-06-07T04:24:21.8014370Z - Required stages: impl, unit
2026-06-07T04:24:21.8014388Z 
2026-06-07T04:24:21.8014658Z ### REQ-HAZARD-GEN-START-NOW
2026-06-07T04:24:21.8015096Z - Title: gen_start = now() on cold-start and handoff (2.4)
2026-06-07T04:24:21.8015366Z - Required stages: impl, int
2026-06-07T04:24:21.8015387Z 
2026-06-07T04:24:21.8015667Z ### REQ-HAZARD-EPHEMERAL-CLEANUP
2026-06-07T04:24:21.8016187Z - Title: Ephemeral perch cleanup on every ring exit path (3.1)
2026-06-07T04:24:21.8016459Z - Required stages: impl, unit
2026-06-07T04:24:21.8016479Z 
2026-06-07T04:24:21.8016783Z ### REQ-HAZARD-STALE-SIGNOFF-SENTINEL
2026-06-07T04:24:21.8017319Z - Title: Stale signoff sentinel does not kill a fresh start (3.2)
2026-06-07T04:24:21.8017580Z - Required stages: impl, unit
2026-06-07T04:24:21.8017775Z 
2026-06-07T04:24:21.8018083Z ### REQ-HAZARD-ECHO-BEFORE-SIGNOFF
2026-06-07T04:24:21.8018718Z - Title: Echo-commune fires before INIT_SIGNOFF on orphan teardown (3.3)
2026-06-07T04:24:21.8018985Z - Required stages: impl, unit
2026-06-07T04:24:21.8019005Z 
2026-06-07T04:24:21.8019669Z ### REQ-HAZARD-ENVELOPE-DECODE-ORDER
2026-06-07T04:24:21.8020321Z - Title: Envelope decode order, ampersand decoded last (4.1)
2026-06-07T04:24:21.8020770Z - Required stages: impl, unit
2026-06-07T04:24:21.8020795Z 
2026-06-07T04:24:21.8021137Z ### REQ-HAZARD-ENVELOPE-PARSER-SAFE
2026-06-07T04:24:21.8021739Z - Title: Two-slice envelope parser is panic-free and tolerant (4.2)
2026-06-07T04:24:21.8022047Z - Required stages: impl, unit
2026-06-07T04:24:21.8022068Z 
2026-06-07T04:24:21.8022513Z ### REQ-HAZARD-EVENTPART-REASSEMBLY
2026-06-07T04:24:21.8023283Z - Title: EVENT-PART split/reassembly is byte-exact; orphan parts dropped silently
2026-06-07T04:24:21.8023700Z - Required stages: impl, unit
2026-06-07T04:24:21.8023919Z 
2026-06-07T04:24:21.8024210Z ### REQ-HAZARD-ID-CHARSET
2026-06-07T04:24:21.8025198Z - Title: Addressable-id charset reserves :/@ delimiters; validated at every creation seam (4.6)
2026-06-07T04:24:21.8025535Z - Required stages: impl, unit
2026-06-07T04:24:21.8025560Z 
2026-06-07T04:24:21.8025912Z ### REQ-HAZARD-REGISTRY-STALE-CLEAN
2026-06-07T04:24:21.8026596Z - Title: Stale registry entries degrade to fallback, never hard-fail (4.3)
2026-06-07T04:24:21.8026869Z - Required stages: impl, unit
2026-06-07T04:24:21.8026891Z 
2026-06-07T04:24:21.8027210Z ### REQ-HAZARD-REGISTRY-CONCURRENT
2026-06-07T04:24:21.8028185Z - Title: Concurrent SQLite openers (registry/spool) must not fail with 'database is locked' (4.7)
2026-06-07T04:24:21.8028471Z - Required stages: impl, unit
2026-06-07T04:24:21.8028493Z 
2026-06-07T04:24:21.8028804Z ### REQ-HAZARD-REGISTRY-DIR-CREATE
2026-06-07T04:24:21.8030523Z - Title: SQLite store opens create their parent dir themselves — a fresh-home registry op must not SQLITE_CANTOPEN (4.9)
2026-06-07T04:24:21.8030871Z - Required stages: doc, impl, unit
2026-06-07T04:24:21.8030895Z 
2026-06-07T04:24:21.8031194Z ### REQ-HAZARD-REGISTRY-EPOCH-LEASE
2026-06-07T04:24:21.8032846Z - Title: Registry merge ordered by per-node monotonic epoch, never wall-clock — a stale Active can't clobber a newer Offline (4.8, red-team #8)
2026-06-07T04:24:21.8033134Z - Required stages: impl, unit
2026-06-07T04:24:21.8033156Z 
2026-06-07T04:24:21.8033470Z ### REQ-HAZARD-DEFERRED-SURVIVE-DRAIN
2026-06-07T04:24:21.8033838Z - Title: Deferred rows survive poll drain (4.4)
2026-06-07T04:24:21.8034102Z - Required stages: impl, unit
2026-06-07T04:24:21.8034121Z 
2026-06-07T04:24:21.8034407Z ### REQ-HAZARD-INBOX-NO-DOUBLE
2026-06-07T04:24:21.8034799Z - Title: No double-delivery via legacy inbox (4.5)
2026-06-07T04:24:21.8035072Z - Required stages: impl, unit
2026-06-07T04:24:21.8035092Z 
2026-06-07T04:24:21.8035395Z ### REQ-HAZARD-WINDOWS-PID-RECYCLE
2026-06-07T04:24:21.8035895Z - Title: Windows PID-recycling false positives guarded (5.1)
2026-06-07T04:24:21.8036200Z - Required stages: impl, unit
2026-06-07T04:24:21.8036220Z 
2026-06-07T04:24:21.8036492Z ### REQ-HAZARD-EBUSY-RENAME
2026-06-07T04:24:21.8037025Z - Title: tmp-write + atomic-rename + retry on Windows EBUSY (5.2)
2026-06-07T04:24:21.8037299Z - Required stages: impl, unit
2026-06-07T04:24:21.8037318Z 
2026-06-07T04:24:21.8037611Z ### REQ-HAZARD-SUBPROCESS-TIMEOUT
2026-06-07T04:24:21.8038068Z - Title: Every harness/git subprocess has a timeout (5.3)
2026-06-07T04:24:21.8038328Z - Required stages: impl, unit
2026-06-07T04:24:21.8038362Z 
2026-06-07T04:24:21.8038638Z ### REQ-HAZARD-UNC-PATH-STRIP
2026-06-07T04:24:21.8039122Z - Title: Strip Windows UNC prefix on serialized paths (5.4)
2026-06-07T04:24:21.8039578Z - Required stages: impl, unit
2026-06-07T04:24:21.8039601Z 
2026-06-07T04:24:21.8040063Z ### REQ-HAZARD-SINGLE-PATH-SOURCE
2026-06-07T04:24:21.8040678Z - Title: Single path/registry source of truth; no layout ambiguity (6.1)
2026-06-07T04:24:21.8041183Z - Required stages: impl, unit
2026-06-07T04:24:21.8041206Z 
2026-06-07T04:24:21.8041479Z ### REQ-HAZARD-SOFT-CLEANUP
2026-06-07T04:24:21.8042141Z - Title: Soft-cleanup preserves state, removes only the ready marker (6.2)
2026-06-07T04:24:21.8042416Z - Required stages: impl, unit
2026-06-07T04:24:21.8042438Z 
2026-06-07T04:24:21.8042732Z ### REQ-HAZARD-CASCADE-WIPE-GUARD
2026-06-07T04:24:21.8043500Z - Title: No hard-delete of a parent hosting non-empty children (6.3)
2026-06-07T04:24:21.8043802Z - Required stages: impl, unit
2026-06-07T04:24:21.8043826Z 
2026-06-07T04:24:21.8044184Z ### REQ-HAZARD-DROP-FILE-SINGLE-WRITER
2026-06-07T04:24:21.8044695Z - Title: Drop files are daemon-owned single-writer (6.4)
2026-06-07T04:24:21.8044994Z - Required stages: impl, unit
2026-06-07T04:24:21.8045015Z 
2026-06-07T04:24:21.8045355Z ### REQ-HAZARD-DIRECT-WRITE-PRECEDENCE
2026-06-07T04:24:21.8046160Z - Title: Direct-write precedence marker (with node id) guards stale overwrite (6.5)
2026-06-07T04:24:21.8046639Z - Required stages: impl, unit
2026-06-07T04:24:21.8046678Z 
2026-06-07T04:24:21.8047026Z ### REQ-HAZARD-CONFLICT-BOTH-PRESERVED
2026-06-07T04:24:21.8049703Z - Title: A surfaced concurrent context pair is durably preserved (both versions, tracked artifacts) until a strictly dominating write clears it; no reconcile failure path discards an unmerged version (6.6, ADR-0013)
2026-06-07T04:24:21.8050152Z - Required stages: impl, unit
2026-06-07T04:24:21.8050177Z 
2026-06-07T04:24:21.8050492Z ### REQ-HAZARD-DETACHED-PIPE-INHERIT
2026-06-07T04:24:21.8055348Z - Title: Windows detached long-lived children must not inherit a captured caller's pipe: every detach-spawn of an immortal child (daemon, shell binary) runs bInheritHandles=FALSE, or a caller capturing output anywhere up the process chain hangs forever on a pipe that never EOFs — std-handle flag stripping is NOT sufficient (grandparent strays still flow) (5.6)
2026-06-07T04:24:21.8055644Z - Required stages: impl, unit
2026-06-07T04:24:21.8055665Z 
2026-06-07T04:24:21.8055959Z ### REQ-HAZARD-CONPTY-DSR
2026-06-07T04:24:21.8056723Z - Title: ConPTY reader must auto-answer DSR (ESC[6n) or all child output stalls (5.5)
2026-06-07T04:24:21.8057006Z - Required stages: impl, unit
2026-06-07T04:24:21.8057027Z 
2026-06-07T04:24:21.8057319Z ### REQ-HAZARD-CHILD-CONSOLE-FLASH
2026-06-07T04:24:21.8059214Z - Title: Console-subsystem children of the console-less daemon spawn with CREATE_NO_WINDOW, or each spawn flashes a visible blank window on the user's desktop (5.8)
2026-06-07T04:24:21.8059689Z - Required stages: impl, unit
2026-06-07T04:24:21.8059720Z 
2026-06-07T04:24:21.8060171Z ### REQ-HAZARD-LOCAL-API-AUTH
2026-06-07T04:24:21.8060945Z - Title: Every local `api` mutation authenticated to an endpoint/session (codex #13)
2026-06-07T04:24:21.8061218Z - Required stages: impl, unit
2026-06-07T04:24:21.8061238Z 
2026-06-07T04:24:21.8061539Z ### REQ-HAZARD-RESTART-IDEMPOTENT
2026-06-07T04:24:21.8062546Z - Title: Idempotent/exactly-once delivery across brain restart at every broker boundary (codex #14)
2026-06-07T04:24:21.8062849Z - Required stages: impl, unit, int
2026-06-07T04:24:21.8062868Z 
2026-06-07T04:24:21.8063156Z ### REQ-HAZARD-UPDATE-ROLLBACK
2026-06-07T04:24:21.8064132Z - Title: Self-update rejects version rollback; metadata expiry + adapter content signing (codex #5)
2026-06-07T04:24:21.8064411Z - Required stages: impl, unit
2026-06-07T04:24:21.8064431Z 
2026-06-07T04:24:21.8064755Z ### REQ-HAZARD-DAEMON-HOSTED-LIVENESS
2026-06-07T04:24:21.8066583Z - Title: Daemon-hosted perches (Psyche, spt-hosted Self) derive liveness from the daemon endpoint table + info.json status, never is_process_alive(info.pid) (2.5)
2026-06-07T04:24:21.8066875Z - Required stages: impl, unit, int
2026-06-07T04:24:21.8066897Z 
2026-06-07T04:24:21.8073488Z ### REQ-HAZARD-PSYCHE-OUTBOUND-PROXY
2026-06-07T04:24:21.8077130Z - Title: Psyche outbound captured + sanitized: the live-Psyche turn driver captures stdout (never Stdio::null), and the daemon strips/re-stamps Psyche-supplied from=/target and constrains routing (reply→__REPLY_TO__ sender, notify→own user/subnet) (7.3)
2026-06-07T04:24:21.8077787Z - Required stages: impl, unit
2026-06-07T04:24:21.8077815Z 
2026-06-07T04:24:21.8078140Z ### REQ-HAZARD-DAEMON-SCHED-NONBLOCKING
2026-06-07T04:24:21.8081579Z - Title: Per-agent pulse/psyche/echo-commune scheduling must not serialize across agents: each agent's bounded LLM call (echo-commune summarizer, Psyche turn) runs off the shared scheduler so one slow/hung call cannot stall another agent's tick (7.4)
2026-06-07T04:24:21.8081871Z - Required stages: impl, unit
2026-06-07T04:24:21.8081896Z 
2026-06-07T04:24:21.8082206Z ### REQ-HAZARD-PAIR-TRANSCRIPT-BIND
2026-06-07T04:24:21.8084962Z - Title: Pairing transcript binds roles, both node pubkeys, subnet ID, seed epoch, TOTP time-step, and confirmation MACs — or unknown-key-share/reflection/wrong-subnet/replay pairing remain possible (ADR-0005 #12)
2026-06-07T04:24:21.8085244Z - Required stages: impl, unit
2026-06-07T04:24:21.8085266Z 
2026-06-07T04:24:21.8085716Z ### REQ-HAZARD-PAIR-SEED-ROTATION
2026-06-07T04:24:21.8088152Z - Title: Removing a node rotates the subnet seed (epoch bump) so an old node/old seed cannot rejoin; trust-store delete alone is NOT revocation because the seed is replicated to every trusted node (ADR-0005 #10)
2026-06-07T04:24:21.8088425Z - Required stages: impl, unit
2026-06-07T04:24:21.8088445Z 
2026-06-07T04:24:21.8088741Z ### REQ-HAZARD-PAIR-RATE-LIMIT
2026-06-07T04:24:21.8092880Z - Title: Subnet-global pairing rate limit: one active ceremony per subnet, shared attempt counter, exponential backoff — a public pre-trust relay + multiple seed-holders otherwise enables distributed SPAKE2 guessing (and ±1 TOTP window triples the valid-password space) (ADR-0005 #11)
2026-06-07T04:24:21.8093165Z - Required stages: impl, unit
2026-06-07T04:24:21.8093186Z 
2026-06-07T04:24:21.8093473Z ### REQ-HAZARD-WAN-ORIGIN-AUTH
2026-06-07T04:24:21.8096864Z - Title: WAN-inbound origin is transport truth, never payload: the access gate's subject (ADR-0009 origin-node whitelist) is the QUIC handshake-proven remote node id from the broker's conn/stream table — a forged origin/node field inside record bytes is inert (7.5)
2026-06-07T04:24:21.8097197Z - Required stages: doc, impl, unit
2026-06-07T04:24:21.8097220Z 
2026-06-07T04:24:21.8097454Z ### REQ-CONSENT-1
2026-06-07T04:24:21.8101917Z - Title: Consent grant store: capability x subject-agent x target-node rows, enforced at the target node, subnet-settable (replicates as security material near the trust store), revocable; gated-capability ids (remote-exec, instantiate-anywhere) reserved-but-refusing; v1 consumers are the shell spawn gates (CONTEXT Consent & security gates)
2026-06-07T04:24:21.8102202Z - Required stages: impl, unit
2026-06-07T04:24:21.8102224Z 
2026-06-07T04:24:21.8102456Z ### REQ-CONSENT-2
2026-06-07T04:24:21.8106462Z - Title: Interactive consent escalation: an ungated high-risk action routes a consent prompt to the user's most-recently-active session; allow-once / allow-always (writes a grant) / deny; pre-consent flags (can_shutdown, shell_wake_spawn_anywhere) author grants via manifest/settings (CONTEXT Consent & security gates)
2026-06-07T04:24:21.8106768Z - Required stages: impl, unit
2026-06-07T04:24:21.8106789Z 
2026-06-07T04:24:21.8107018Z ### REQ-PRES-1
2026-06-07T04:24:21.8113310Z - Title: Presence resolution: the presence datum (last_active_node, last_active_endpoint, ts) gossiped subnet-wide via the agent-interaction heartbeat (rides registry distribution, visibility-gated) + one first-class most-recently-active resolution API consumed by notif first-fire, update-consent delivery, consent escalation, and shell wake resolution (M5 scope decision 1: resolution only — the PresenceChannel endpoint stays deferred)
2026-06-07T04:24:21.8113620Z - Required stages: impl, unit, int
2026-06-07T04:24:21.8113642Z 
2026-06-07T04:24:21.8113872Z ### REQ-SHELL-1
2026-06-07T04:24:21.8118217Z - Title: Shell hosting machinery: shell perch under the owner (type/owner/adapter_name/status/alias), broker-launched binary + api bind local-link handshake, the three channels (command durable, text+file durable + progress-queryable, sensory REST-only never spooled + dropped-unless-owner-live), owner exclusivity (CONTEXT Shell model)
2026-06-07T04:24:21.8118696Z - Required stages: impl, unit, int
2026-06-07T04:24:21.8118718Z 
2026-06-07T04:24:21.8118930Z ### REQ-SHELL-2
2026-06-07T04:24:21.8125690Z - Title: Shell sleep/wake: link-break always closes the binary (pre-close instruction + termination timeout), ephemeral teardown vs persistent offline/relink, wake_command wake-watcher (offline-only, exit-opcode supervision, exponential backoff + give-up), state-keyed wake resolution (dormant/suspended/active-elsewhere; no-reachable refuses — spawn-anywhere branch deferred), spt shutdown owner cascade + api owner-shutdown gated by can_shutdown (CONTEXT Shell sleep/wake)
2026-06-07T04:24:21.8126003Z - Required stages: impl, unit, int
2026-06-07T04:24:21.8126026Z 
2026-06-07T04:24:21.8126336Z ### REQ-HAZARD-ELEVATED-DAEMON-SPAWN
2026-06-07T04:24:21.8132513Z - Title: The daemon always runs unelevated in the invoking user's universe, regardless of which command spawns it: an elevated spawner de-elevates (Windows: UAC linked token via CreateProcessWithTokenW; Linux: drop to SUDO_UID/SUDO_GID + the invoker's HOME) — an elevated daemon's pipes deny unelevated clients (every later spt reads not-running→spawn→bind Access-denied) and a sudo'd daemon roots the user's state universe (5.7)
2026-06-07T04:24:21.8132823Z - Required stages: doc, impl, unit
2026-06-07T04:24:21.8132846Z 
2026-06-07T04:24:21.8133150Z ### REQ-HAZARD-REGISTRY-GHOST-ROWS
2026-06-07T04:24:21.8139987Z - Title: A dead node identity's registry rows must decay: only the per-(endpoint,node) epoch lease supersedes rows, so without eviction a vanished node's rows are immortal and poison bare-id resolution with phantom AcrossNodes ambiguity — evict rows whose author node has not been heard (admitted inbound feed) within the eviction window; own rows never decay; a revived node re-inserts from its durable epoch within one pump cadence (4.10)
2026-06-07T04:24:21.8140366Z - Required stages: doc, impl, unit
2026-06-07T04:24:21.8140386Z 
2026-06-07T04:24:21.8140629Z ## How to report back
2026-06-07T04:24:21.8140650Z 
2026-06-07T04:24:21.8141239Z For every (requirement, failing criterion) pair, emit one finding:
2026-06-07T04:24:21.8141262Z 
2026-06-07T04:24:21.8141463Z     {
2026-06-07T04:24:21.8141738Z       "code": "requirement_quality",
2026-06-07T04:24:21.8142012Z       "requirementId": "REQ-...",
2026-06-07T04:24:21.8142579Z       "criterion": "singular" | "verifiable" | "atomic" | "active-voice",
2026-06-07T04:24:21.8142850Z       "message": "<short reason>",
2026-06-07T04:24:21.8143207Z       "suggestedRevision": "<optional rewrite>"
2026-06-07T04:24:21.8143410Z     }
2026-06-07T04:24:21.8143432Z 
2026-06-07T04:24:21.8144085Z Wrap your response as { "findings": [ ... ] } listing only your concerns; the
2026-06-07T04:24:21.8144544Z deterministic findings above don't need to be repeated.
